const bcrypt = require('bcrypt');
const { pool } = require('../config/db');

/**
 * 创建默认管理员用户
 * 用户名: admin
 * 密码: admin123
 */
async function createAdminUser() {
  try {
    console.log('开始创建管理员用户...');

    // 检查管理员用户是否已存在
    const [existing] = await pool.execute(
      'SELECT id FROM system_users WHERE username = ?',
      ['admin']
    );

    if (existing.length > 0) {
      console.log('管理员用户已存在，跳过创建');
      return;
    }

    // 加密密码
    const password = 'admin123';
    const hashedPassword = await bcrypt.hash(password, 10);

    // 插入管理员用户
    await pool.execute(
      `INSERT INTO system_users (username, password, real_name, employee_id, role, status) 
       VALUES (?, ?, ?, ?, ?, ?)`,
      ['admin', hashedPassword, '系统管理员', 'ADMIN001', 'admin', 'active']
    );

    console.log('管理员用户创建成功！');
    console.log('用户名: admin');
    console.log('密码: admin123');
    console.log('请及时修改默认密码！');
  } catch (error) {
    console.error('创建管理员用户失败:', error.message);
    throw error;
  } finally {
    await pool.end();
  }
}

// 执行创建
createAdminUser();


